home *** CD-ROM | disk | FTP | other *** search
- /*
- File: AppleShareMailServerRegistry.h
-
- Contains: Attributes stored by the ASIP Mail Server in the Registry.
-
- Version: Technology: AppleShare IP 6.0
- Release: ASIP 6.2 SDK - Saturday, September 4, 1999 15:05:49
-
- Copyright: © 1996-1999 by Apple Computer, Inc., all rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __APPLESHAREMAILSERVERREGISTRY__
- #define __APPLESHAREMAILSERVERREGISTRY__
-
- #ifndef __APPLESHAREREGISTRY__
- #include <AppleShareRegistry.h>
- #endif
-
-
-
-
- #if PRAGMA_ONCE
- #pragma once
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
-
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
-
- /*
- *********
- Constants
- *********
- */
- /* Signature, type...*/
- enum {
- kMUMailServerSignature = FOUR_CHAR_CODE('mail'),
- kMU60Attributes = FOUR_CHAR_CODE('mU60'), /* MailUser 6.0*/
- kMUHomeServer = FOUR_CHAR_CODE('mUhs') /* Home server record*/
- };
-
- enum {
- kMUHomeServerTag = FOUR_CHAR_CODE('Acct')
- };
-
- /* ASDSharedAttributeConstants */
- enum {
- kMUMaxSMTPForwardLength = 255,
- kMUFingerprintLength = 16
- };
-
- /*
- ***************
- User Attributes
- ***************
- */
-
- /* ASDMailUserFlags*/
- enum {
- KMUUserEnableMask = 0x0000000F,
- kMUAPOPRequired = 0x00000004, /* User must use APOP to authenticate*/
- kMUForwardingMask = 0x000000F0, /* Mask to get forwarding options*/
- kMUNoForwarding = 0x00000010, /* enabled mail...this bit should be set..*/
- kMUForwardSMTP = 0x00000020, /* Forward mail to SMTP address*/
- kMUForwardATalk = 0x00000040, /* Forward mail to AppleTalk SMTP server*/
- /* 6.0 flag additions*/
- kMUIMAPPOPFlagsMask = 0x00000F00,
- kMUPOPEnabled = 0x00000100, /* User can connect over POP3 or PASS*/
- kMUIMAPEnabled = 0x00000200, /* User can connect over IMAP or PASS*/
- kMUNotificationMask = 0x0000F000,
- kMUNotificationON = 0x00001000, /* User wants mail notification*/
- kMUUseLastIPAddr = 0x00002000, /* Use last IP Address for notification - notifyIPAddress is ignored..*/
- kMUUseSpecificIPAddr = 0x00004000, /* field notifyIPAddress is used...and kMUUseLastIPAddr should cleared..*/
- kMUSharedBoxFlagMask = 0x000F0000,
- kMUSeparatePOPAndIMAP = 0x00010000, /* User can connect over POP3, IMAP or PASS with separate inbox*/
- kMUShowPOPInIMAP = 0x00020000, /* User can connect over POP3, IMAP or PASS with separate inbox*/
- /* legacy, do not use beyond 5.0.x versions..*/
- kMUMailEnabled = 0x00000001, /* Was kMEEnabled in version 1 - ignore, should be zero for 6.0..*/
- kMULoginEnabled = 0x00000002 /* User can connect over POP3 or PASS - ignore, should be zero for 6.0..*/
- };
-
- /* Only generate C struct info, since the ASM and Pascal will be wrong*/
- /*
- Note: The MU5xAttributes and MU60Attributes structs must not be altered.
- The shipping code in earlier versions of our products reads and writes
- precisely these structures and any changes to the struct size or field offsets
- will destroy backwards compatibility with the older products.
- In other words don't use Str32Field as the atalk field types or you'll break things!
- */
- typedef unsigned char ATalkStr33[33];
- /*
- A 32 character Pascal string with a length byte.
- Yes, when packed things end up on odd addresses, but that's where the old code requires it to be.
- */
-
- struct MU60Attributes {
- UInt32 version;
- UInt32 mailUserFlags;
- ATalkStr33 atalkForwardName;
- ATalkStr33 atalkForwardServer;
- ATalkStr33 atalkForwardZone;
- char smtpForward[256];
- char fingerprint[16]; /* initialize to all zeros when creating attribute*/
- UInt32 notifyIPAddress;
- };
- typedef struct MU60Attributes MU60Attributes;
-
- struct MUHomeServer {
- UInt32 tag; /* kMUHomeServerTag*/
- UInt32 offset; /* Unused set to 0*/
- Str255 data; /* home server name, as a pascal string*/
- Str255 reserved; /* set to 0*/
- };
- typedef struct MUHomeServer MUHomeServer;
-
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
-
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* __APPLESHAREMAILSERVERREGISTRY__ */
-
-